package com.zhongkun.datahome.service.res.standard;

import com.zhongkun.datahome.service.domain.DecorationStandardItem;
import com.zhongkun.datahome.service.res.sku.SkuVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Objects;

/**
 * @Author: lifengsheng
 * @Date: 2025/4/17 13:55
 * @Desc
 */
@Data
public class DecorationStandardItemSkuVo extends DecorationStandardItem {
    @ApiModelProperty("商品id")
    private Long skuId;

    @ApiModelProperty("商品名称")
    private String skuName;

    @ApiModelProperty("商品状态:0已下架，1已上架")
    private Integer status;

    @ApiModelProperty("类目")
    private String category;

    @ApiModelProperty("品牌名称")
    private String brandName;

    @ApiModelProperty("单位")
    private String unit;

    @ApiModelProperty("商品规格/尺寸")
    private String specification;

    @ApiModelProperty("商品来源")
    private String source;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("头图")
    private String headPicUrl;

    public static DecorationStandardItemSkuVo convert(DecorationStandardItem decorationStandardItem, SkuVo skuVo) {
        DecorationStandardItemSkuVo decorationStandardItemSkuVo = new DecorationStandardItemSkuVo();
        // 装标清单
        decorationStandardItemSkuVo.setId(decorationStandardItem.getId());
        decorationStandardItemSkuVo.setStandardId(decorationStandardItem.getStandardId());
        decorationStandardItemSkuVo.setMaterialType(decorationStandardItem.getMaterialType());
        decorationStandardItemSkuVo.setMaterialId(decorationStandardItem.getMaterialId());
        decorationStandardItemSkuVo.setQuantity(decorationStandardItem.getQuantity());
        decorationStandardItemSkuVo.setRoom(decorationStandardItem.getRoom());
        decorationStandardItemSkuVo.setChannel(decorationStandardItem.getChannel());

        // 商品信息
        if (Objects.nonNull(skuVo)) {
            decorationStandardItemSkuVo.setSkuId(skuVo.getId());
            decorationStandardItemSkuVo.setSkuName(skuVo.getSkuName());
            decorationStandardItemSkuVo.setStatus(skuVo.getStatus());
            decorationStandardItemSkuVo.setCategory(skuVo.getCategory());
            decorationStandardItemSkuVo.setBrandName(skuVo.getBrandName());
            decorationStandardItemSkuVo.setUnit(skuVo.getUnit());
            decorationStandardItemSkuVo.setSpecification(skuVo.getSpecification());
            decorationStandardItemSkuVo.setSource(skuVo.getSource());
            decorationStandardItemSkuVo.setRemark(skuVo.getRemark());
            decorationStandardItemSkuVo.setHeadPicUrl(skuVo.getHeadPicUrl());
        }
        return decorationStandardItemSkuVo;
    }
}
